A portion of the disclosure of this patent document contains material which is subject to copyright protection. This patent document may show and/or describe matter which is or may become trade dress of the owner. The copyright and trade dress owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright and trade dress rights whatsoever.
1. Field of the Invention
The present invention relates generally to multifunction peripheral devices and more particularly to increasing the efficiency of communication to a multifunction peripheral device by increasing the performance and efficiency of the multifunction peripheral interacted and its interface protocol.
2. Description of Related Art
In a typical networked multi-user computer environment, a number of individual workstations are linked together through a network, usually a local area network (LAN). Also linked on the LAN are one or more peripheral devices such as printers or plotters. Traditionally, each peripheral device was dedicated to single function. Hence, although documents coming from a facsimile machine contained text and graphics that could be virtually identical to documents coming from a printer, separate machines were used for each of these functions. Furthermore, some functions were performed entirely off line with respect to the network. Thus users who wished to send a document via facsimile might be required to first print out the document, then hand carry it to a facsimile machine, punch in or otherwise select a phone number, and then feed the printed document through the fax machine. Similarly, those who wished to make multiple copies of a document might print out a single copy, carry it to a photocopying machine, and feed the pages to the photocopy machine which could make, and perhaps collate multiple copies.
This earlier generation of devices tended to be xe2x80x9cunintelligent,xe2x80x9d or perhaps, better xe2x80x9cuncommunicative.xe2x80x9d They accepted data in accordance with whatever means they had available, and processed it according to instructions.
More recently, however, peripheral devices have become available which are able to perform a number of related functions. These devices are known as multifunction peripherals (MFPs).
The Telecommunication Industry Association (TIA) has provided an MFP interface standard known as the IS-650 Multifunction Peripheral Industry Interface Standard, Level 1 (MFPI-1) specification version 5.5. According to this standard, an MFP is:
Computer equipment used to scan, print, facsimile transmit, and/or copy documents. It also may have the capability to provide data modem and other voice telephony services. The MFP may be an integrated unit or may be several discrete units that are interconnected on the same communication channel to the Host or interconnected using several different channels. One or more of the subsystems may be omitted from the MFP.
A xe2x80x9cHostxe2x80x9d is any terminal or computer capable of providing commands and data to operate a peripheral. In practice, a Host is a computer of any size, or a group of network nodes on a given local area network. A xe2x80x9csubsystemxe2x80x9d is one of several logical peripheral units, such as printer, scanner, fax-data-voice (FDV) modem, internal memory, stand-alone controller (SAC), operator console and others which may exist in the MFP. The Host and the MFP communicate through a xe2x80x9cchannel.xe2x80x9d
MFPI-1 organizes the subsystems as components on the channel. The channel also has a resource management component which manages the subsystems from a supervisory level. The languages which are used to control the subsystems, such as printer page description languages, fax/data/voice modem languages, and scanner languages are not within the scope of the standard. MFPI-1 also allows multiple subsystems of the same type (two printers for example), and does not constrain the number or type of subsystems included within an MFP.
An MFP can operate in stand-alone mode, wherein two or more subsystems are used without interaction with the Host. One example of this is copying. Stand-alone operations may occur at the same time that the Host is accessing a different subsystem for a Host-controlled operation.
The channel used to access the MFP is not restricted by MFPI-1. However, MFPI-1 provides information for operations utilizing various channels such as the Bidirectional Parallel (IEEE-1284), Asynchronous Serial (EIA/TIA-RS-232-E), and Small Computer Systems Interface (SCSI) channels. The SCSI architecture, for example, allows up to eight devices on the bus (including a SCSI host). MFPI-1 specifies that the Host and MFP are each one such device, and that other MFPs can be coupled to a single SCSI bus. MFPI-1 is generally limited to a single SCSI host on a given channel. Channel issues such as identification of the SCSI host requesting service if multiple SCSI hosts are to be connected are said to be beyond the scope of MFPI-1. MFPI-1 does, however, suggest that a given channel architecture, such as SCSI, may provide for multiple SCSI hosts.
In a networked system where many workstations are sharing peripherals, the use of a multifunction peripheral is a mixed blessing. On the one hand, rather than providing, for example, two different scanner functions (one for reading documents for facsimile transmission, one for reading documents for copying) and three different printing functions (one for printing computer generated documents, one for printing documents received through facsimile transmission, and one for printing documents that have been scanned in for copying), a single scanning function and a single printing function perform the work of printer, copier and facsimile machine. On the other hand, the single multifunction peripheral may become a bottleneck. Previously, where there was one user wishing to print a document, one user wishing to transmit a document via facsimile, and one user wishing to copy a document, each would ordinarily each have directed his or her task to a separate machine, and thus not interfere with one another. With a single machine performing all three functions (in our example), queues will more readily form in order to make use of those functions. Hence, it is desirable to achieve any efficiencies possible in the MFP interface and interface protocol in order to enhance the performance of the MFP.
Since the channel carries all data and commands between the Host and MFP, this link is critical to the performance of the MFP. Where the channel is a SCSI channel, by increasing the efficiency of use of the SCSI channel and its protocol, the MFP""s performance is also enhanced.
The SCSI protocol allows packets of data to be sent from the Host to the MFP and from the MFP to the Host. However, under MFPI-1, only the Host can initiate data transfers. (The ANSI SCSI specification actually allows peer-to-peer communications, but few SCSI adapters do this.) Furthermore, MFPI-1 describes only a limited command set, although this command set is similar to the SCSI standard command set for communications devices.
Under MFPI-1, the SCSI protocol""s operating procedure has two phases in each direction, known as the xe2x80x9cHeader Phasexe2x80x9d and the xe2x80x9cContent Phase.xe2x80x9d This two-phase approach is specified by MFPI-1 out of conformance with normal SCSI implementation and also to protect against faults. In the Header Phase; the Host transfers a header, which is a small fixed length amount of data which describes the actual data to be sent during the Content Phase. In the Content Phase, the Host transfers packets of information (called xe2x80x9ccontentxe2x80x9d) to the MFP. Data transfer from the MFP to the Host operate in a similar fashion. Data transfers from the Host to the MFP, including transfers of header and content, are sent by the Host using the SEND MESSAGE command. The Host retrieves data from the MFP using the GET MESSAGE command.
The format for the SEND MESSAGE command is reproduced in the table below. 
The SEND MESSAGE command includes the TransferLength field. The TransferLength field is three bytes in length and specifies the length of the header or content packet to be sent.
The format for the GET MESSAGE command is reproduced in the table below. 
The GET MESSAGE command includes the AllocationLength field. The AllocationLength field is three bytes in length and specifies the length of the header or content packet to be sent.
SCSI data packets, for the GET MESSAGE and SEND MESSAGE commands, have a format defined by MFPI-1 and are described in Section 13.4.5 of MFPI-1. The packet header is formatted as shown in the following table. This header is transmitted as data as part of a SEND MESSAGE or GET MESSAGE command. Bytes 0-5 are general in nature. Bytes 6-12 refer to the transmit direction for the channel. Bytes 13-17 refer to the receive direction for the channel. All eighteen bytes are mandatory in every header. The use of many of the fields is optional. 
The field, xe2x80x9cTransmitContentLengthxe2x80x9d is three bytes long and specifies the length of the content packet to be transferred.
It is therefore the object of the invention to enhance the performance of the MFP. It is a further object to achieve efficiencies in the MFP interface. It is a further object to achieve efficiencies in the MFP interface protocol.
The previously described objects are achieved in a data processing system comprising an MFP and a Host wherein communications between the Host and MFP are refined through an improved SCSI communications channel.
According to the invention, data transfers from the Host to the MFP are expedited. When the Host has data to transfer to the MFP, the Host executes a single SEND MESSAGE command and sends both the header and the content to the MFP. When the MFP has data to transfer to the MFP, a single GET MESSAGE command is executed and the MFP sends both the header and the content to the Host.
Still further objects and advantages attaching to the device and to its use and operation will be apparent to those skilled in the art from the following particular description.